package com.cn.lp.export.client.entity;


import com.cn.lp.export.client.entity.ExportBusinessType;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;
import java.util.Set;

/**
 * 导出相关参数类
 *
 * @Author chenyongjue
 * @DATE: 2019/10/31
 **/
public interface BaseExportInfoParam {

    /**
     * 创建事件vo
     */
    @Data
    class CreateEventVo {

        /**
         * 导出请求对应的类型，有相应的业务开发提供
         */
        ExportBusinessType businessType;

        /**
         * 导出条件
         */
        Object condition;
    }

    /**
     * demo for test
     * 导出条件
     */
    @Data
    @Accessors(chain = true)
    class ExportDemoConditionVo {

        /**
         * 查询条件
         */
        DemoParam.QueryParam queryCondition;

    }

    /**
     * 导出事件vo
     */
    @Data
    @Accessors(chain = true)
    class ExportEventVo {

        /**
         * 导出请求对应的类型
         */
        ExportBusinessType businessType;

        /**
         * 导出条件
         */
        Object condition;

    }

    /**
     * 导出事件处理结果
     */
    @Data
    @Accessors(chain = true)
    class ExportEventResultVo {

        /** 资源url **/
        private String resultUrl;

        /** 任务id **/
        private long taskId;

    }

}
